package com.itheima.d8_interface_jdk8;
/*
    1、JDK8开始，接口中新增了哪些方法?
        默认方法：使用default修饰，使用实现类的对象调用。
        静态方法：static修饰，必须用当前接口名调用
        私有方法：private修饰，jdk9开始才有的，只能在接口内部被调用。
        注意 : 他们都会默认被public修饰。
    2、JDK8开始，接口中为啥要新增这些方法?
        增强了接口的能力，更便于项目的扩展和维护。

 */
public class Test {
    public static void main(String[] args) {
        AImpl a = new AImpl();
        a.test1();
        a.test5();
        a.test6();
        A.test7();

    }
}

interface A{
    void test1();
    void test2();
    void test3();
    void test4();

    default void test5() {
        System.out.println("test5执行了");
    }

    default void test6(){
        privateMethod();
    }

     private void privateMethod() {
        System.out.println("私有");
    }

    public static void test7(){
        System.out.println("静态的");
    }
}
class AImpl implements A{

    @Override
    public void test1() {

    }

    @Override
    public void test2() {

    }

    @Override
    public void test3() {

    }

    @Override
    public void test4() {

    }
}
